bitkeeper revision 1.1344 (4266a1eeiNiXbU4vcENZiEEaX7Iybw)
authorcwc22@centipede.cl.cam.ac.uk <cwc22@centipede.cl.cam.ac.uk>
Wed, 20 Apr 2005 18:39:42 +0000 (18:39 +0000)
committercwc22@centipede.cl.cam.ac.uk <cwc22@centipede.cl.cam.ac.uk>
Wed, 20 Apr 2005 18:39:42 +0000 (18:39 +0000)
grant-tables.txt:
  fix to error check condition after map
blkback.c:
  bug fix to grant table code in block backend
Kconfig:
  amend config entry for XEN_BLKDEV_GRANT

docs/misc/grant-tables.txt
linux-2.6.11-xen-sparse/arch/xen/Kconfig
linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c

index 604be3bb089419971a85a74b9e53a5df6c447245..19db4ec41501fcd21ea2a9a7dbb02765f55954da 100644 (file)
@@ -120,7 +120,7 @@ is complete.
 
         for ( i = 0; i < BATCH_SIZE; i++ )
         {
-            if ( unlikely(aop[i].u.map_grant_ref.dev_bus_addr == 0) )
+            if ( unlikely(aop[i].u.map_grant_ref.handle < 0) )
             {
                 tidyup_all(aop, i);
                 goto panic;
index 81e2f9bbbbb6420ddd3a70751c98e096d025b886..6046cd471f987a5c4d9c739e0ebe860b560860ca 100644 (file)
@@ -62,7 +62,7 @@ config XEN_BLKDEV_TAP_BE
           modified to use grant tables.
 
 config XEN_BLKDEV_GRANT
-        bool "Grant table substrate for block drivers (DANGEROUS)"
+        bool "Grant table substrate for block drivers"
         depends on !XEN_BLKDEV_TAP_BE
         default y
         help
index 51f4c0b9afe79a786c89f0e15676f3ad3484bf1a..2554f999d76b85d6bc6b69430e85c56dd70988ad 100644 (file)
@@ -516,11 +516,11 @@ static void dispatch_rw_block_io(blkif_t *blkif, blkif_request_t *req)
 
     for ( i = 0; i < nseg; i++ )
     {
+        fas         = req->frame_and_sects[i];
 #ifdef CONFIG_XEN_BLKDEV_GRANT
         seg[i].buf  = (aop[i].u.map_grant_ref.dev_bus_addr << PAGE_SHIFT) |
                       (blkif_first_sect(fas) << 9);
 #else
-        fas          = req->frame_and_sects[i];
         seg[i].buf  = (fas & PAGE_MASK) | (blkif_first_sect(fas) << 9);
         seg[i].nsec = blkif_last_sect(fas) - blkif_first_sect(fas) + 1;
         if ( seg[i].nsec <= 0 )